A Dynamic Software Evolution by Metamodel Change

نویسنده

  • Michal Vagač
چکیده

Every long-time running software system is sooner or later subject of a change. The most common reasons are different requests for a bug fixing or adding a new functionality. Software maintenance forms bigger part of software’s lifetime. Before applying a change, it is essential to correctly understand current state of affected system. Without all relevant information about both – system as whole and implementation details, a change can introduce new bugs or even break functionality of the system. In the paper we present contribution to program comprehension and following program change. Our method utilizes metalevel architectures to separate legacy application from evolution tool. The tool, placed in metalevel, uses aspect-oriented techniques to introduce a new code in the base level legacy application. This code manages casual connection between base level and metamodel, which is automatically created in metalevel. According to the base level program behavior, the metamodel is created and/or updated. Depending on the metamodel change, the base level program is extended with code which affects its functionality. Since the metamodel describes related implementation in higher level of abstraction, the method improves program comprehension and simplifies change.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Change Metamodel for the Evolution of MOF-Based Metamodels

The evolution of software systems often produces incompatibilities with existing data and applications. To prevent incompatibilities, changes have to be wellplanned, and developers should know the impact of changes on a software system. This consideration also applies to the field of model-driven development, where changes occur with the modification of the underlying metamodels. Models that ar...

متن کامل

Structures and processes for managing model-metamodel co-evolution

Software changes over time. During the lifetime of a software system, unintended behaviour must be corrected and new requirements satisfied. Because software changes are costly, tools for automatically managing change are commonplace. Contemporary software development environments can automatically perform change management tasks such as impact analysis, refactoring and background compilation. ...

متن کامل

Towards Querying of Traceability Information in the Context of Software Evolution

Traceability of various artifacts created during the development of software systems plays an important role in software evolution. Subsequent changes to artifacts must be traced to other artifacts potentially affected by the change, thus ensuring the system’s consistency or enabling to estimate the impact of changes. Using a querying approach, this paper shows how to extract traceability infor...

متن کامل

Challenges in evolving Metamodels

Like every other software artifact, metamodels are subject to change even in later phases of the software life cycle. In this problem description paper, we first classify metamodel changes. We then elaborate on the challenges of metamodel evolution. The main challenges are the tight coupling of code to metamodels and the pervasiveness of metamodel dependencies. As this is a problem description ...

متن کامل

Automatability of Coupled Evolution of Metamodels and Models in Practice

Model-based software development promises to increase productivity by offering modeling languages tailored to a problem domain. Such modeling languages are often defined by a metamodel. In consequence of changing requirements and technological progress, these modeling languages and thus their metamodels are subject to change. Manually migrating models to a new version of their metamodel is tedi...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011